<template>
    <div>
        <!--
        问题2：我们不知道什么时候能拿到max值。但是总归有一刻，我们会拿到一个真正的max值

        我们可以使用watch属性监听，来监听父组件传递过来的max值，不管我们的watch会被触发几次，但是最后一次肯定会是一个合法是max值
        -->
        <div class="mui-numbox" data-numbox-min='1'>
            <button class="mui-btn mui-btn-numbox-minus" type="button">-</button>
            <input id="test" class="mui-input-numbox" type="number" value="1" @change="countChanged" ref="numbox"/>
            <button class="mui-btn mui-btn-numbox-plus" type="button">+</button>
        </div>
    </div>
    <!--
    分析：子组件什么时候把数据传递给父组件
    -->
</template>

<script>
    import mui from '../../lib/mui/js/mui.min.js'
    export default {
       mounted(){
           //初始化数字选择框组件
           mui(".mui-numbox").numbox();
       },
        methods:{
           countChanged(){
               //每当文本框的数据被修改的时候，立即把最新的数据通过事件调用传递给父组件
               this.$emit('getcount',parseInt(this.$refs.numbox.value));
           }
        },
        props:['max'],
        watch:{
           //属性监听
            'max':function (newVal,oldVal) {
                //使用js Api来设置numbox的最大值
                mui(".mui-numbox").numbox().setOption('max',newVal)
            }
        }
    }
</script>

<style lang="scss" scoped>

</style>